package cc.rengu.redp.bizimpl.upmp.domain;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author 刘玉亮.LL
 */
//交易限额限次配置表正式表
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("T_B_TXN_LIMIT_CFG")
@ApiModel(value = "BTxnLimitCfg对象", description = "交易限额限次配置表正式表")
@ExcelIgnoreUnannotated
public class BTxnLimitCfg implements Serializable {

    private static final long serialVersionUID = 1L;

    @ExcelProperty(value = "商户等级编号")
    @TableField(exist=false)
    private String mchntLevelCode;

    @ExcelProperty(value = "日累计限额")
    @ApiModelProperty(value = "日累计限额")
    @TableField("DAY_LIMIT_AMT")
    private String dayLimitAmt;

    @ExcelProperty(value = "月累计限额")
    @ApiModelProperty(value = "月累计限额")
    @TableField("MONTH_LIMIT_AMT")
    private String monthLimitAmt;

    @ExcelProperty(value = "单笔借记限额")
    @TableField(exist=false)
    private String refundSingleLimitLoanMaxAmt;

    @ExcelProperty(value = "日累计借记限额")
    @TableField(exist=false)
    private String dayLimitLoanAmt;

    @ExcelProperty(value = "月累计借记限额")
    @TableField(exist=false)
    private String monthLimitLoanAmt;

    @ExcelProperty("单笔贷记限额")
    @TableField(exist=false)
    private String refundSingleLimitCredMaxAmt;

    @ExcelProperty("日累计贷记限额")
    @TableField(exist=false)
    private String refundDayLimitCredAmt;

    @ExcelProperty("月累计贷记限额")
    @TableField(exist=false)
    private String monthLimitCreditAmt;

    @ApiModelProperty(value = "机构标识")
    @TableField("INST_ID")
    private String instId;

    @ApiModelProperty(value = "限额类型")
    @TableField("LIMIT_TYPE")
    private String limitType;

    @ApiModelProperty(value = "限额主体")
    @TableField("LIMIT_INST")
    private String limitInst;

    @ApiModelProperty(value = "限额账户类型")
    @TableField("LIMIT_ACCT_TYPE")
    private String limitAcctType;

    @ApiModelProperty(value = "单笔最大限额")
    @TableField("SINGLE_LIMIT_MAX_AMT")
    private String singleLimitMaxAmt;

    @ApiModelProperty(value = "单笔最小限额")
    @TableField("SINGLE_LIMIT_MIN_AMT")
    private String singleLimitMinAmt;



    @ApiModelProperty(value = "日累计限次")
    @TableField("DAY_LIMIT_NUM")
    private BigDecimal dayLimitNum;




    @ApiModelProperty(value = "月累计限次")
    @TableField("MONTH_LIMIT_NUM")
    private BigDecimal monthLimitNum;


    @ApiModelProperty(value = "单笔退货限额")
    @TableField("SINGLE_REFUND_LIMIT_AMT")
    private String singleRefundLimitAmt;



    @ApiModelProperty(value = "单日累计退货限额")
    @TableField("DAY_REFUND_LIMIT_AMT")
    private String dayRefundLimitAmt;



    @ApiModelProperty(value = "月累计退款限额")
    @TableField("MONTH_REFUND_LIMIT_AMT")
    private String monthRefundLimitAmt;

    @ApiModelProperty(value = "多项认证限额")
    @TableField("AUTH_LIMIT_AMT")
    private String authLimitAmt;

    @ApiModelProperty(value = "启用状态")
    @TableField("STATUS")
    private String status;

    @ApiModelProperty(value = "审核状态")
    @TableField("AUDIT_STATUS")
    private String auditStatus;

    @ApiModelProperty(value = "审核拒绝原因")
    @TableField("AUDIT_REFUSE_REASON")
    private String auditRefuseReason;

    @ApiModelProperty(value = "创建人")
    @TableField("OPR_ID")
    private String oprId;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private String createTime;

    @ApiModelProperty(value = "最后修改人")
    @TableField("LAST_OPR_ID")
    private String lastOprId;

    @ApiModelProperty(value = "创建机构")
    @TableField("CRT_ORG_ID")
    private String crtOrgId;

    @ApiModelProperty(value = "最后修改时间")
    @TableField("LAST_UPDATE_TIME")
    private String lastUpdateTime;

    @ApiModelProperty(value = "最后审核人")
    @TableField("LAST_AUDIT_ID")
    private String lastAuditId;

    @ApiModelProperty(value = "最后审核时间")
    @TableField("LAST_AUDIT_TIME")
    private String lastAuditTime;

    @ApiModelProperty(value = "非业务主键")
    @TableField("ID")
    @TableId(type= IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "备用字段1")
    @TableField("REMARK1")
    private String remark1;

    @ApiModelProperty(value = "备用字段2")
    @TableField("REMARK2")
    private String remark2;

    @ApiModelProperty(value = "备用字段3")
    @TableField("REMARK3")
    private String remark3;

    @ApiModelProperty(value = "操作类型：新增、修改、删除、审核等")
    @TableField(exist=false)
    private String optFlag;

    @TableField(exist=false)
    private String mchntNo;
    @TableField(exist=false)
    private String mchntName;
    @TableField(exist=false)
    private String mchntType;
    @TableField(exist=false)
    private String termNo;
    @TableField(exist=false)
    private String tmName;
    @TableField(exist=false)
    private String notDiffAcctId;
    @TableField(exist=false)
    private String creditId;
    @TableField(exist=false)
    private String loanId;
    @TableField(exist=false)
    private String refundNotDiffAcctId;
    @TableField(exist=false)
    private String refundCreditId;
    @TableField(exist=false)
    private String refundLoanId;

    @TableField(exist=false)
    private String bizStatus;
    @TableField(exist=false)
    private String dayLimitCreditAmt;


    @TableField(exist=false)
    private String grpDesc;
    @TableField(exist=false)
    private String grpNo;
    @TableField(exist=false)
    private String industryName;
    @TableField(exist=false)
    private String industryType;

    @TableField(exist=false)
    private String masterId;
    @TableField(exist=false)
    private String mcName;
    @TableField(exist=false)
    private String mcNo;
    @TableField(exist=false)
    private String mcTermNo;
    @TableField(exist=false)
    private String mcType;


    @TableField(exist=false)
    private String mchntLevelName;



    @TableField(exist=false)
    private String refundDayLimitAmt;

    @TableField(exist=false)
    private String refundDayLimitLoanAmt;



    @TableField(exist=false)
    private String singleLimitCreditMaxAmt;
    @TableField(exist=false)
    private String singleLimitLoanMaxAmt;

    @TableField(exist=false)
    private boolean flag;
    @TableField(exist=false)
    private String opp;
    @TableField(exist=false)
    private List<String> userOrgCodeList;

    @TableField(exist=false)
    private String auditReason;
    @TableField(exist=false)
    private String refundDiffAcctId;

    @TableField(exist=false)
    private String reflonDayLimitLoanAmt;
    @TableField(exist=false)
    private String reflonSingleLimitLoanMaxAmt;

    @TableField(exist=false)
    private String reSingleLimitLoanMaxAmt;
    @TableField(exist=false)
    private String reSingleLimitCredMaxAmt;

    @TableField(exist=false)
    private String refcreSingleLimitCredMaxAmt;
    @TableField(exist=false)
    private String refcreDayLimitCredMaxAmt;


}
